+Wed Dec 17 23:31:19 2003 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only
+ try to strcmp or strlen if we managed to normalize and casefold
+ the string correctly. Fixes crashes with non-UTF8 strings.
+ (#121617, Patch from Tim-Philipp Müller).
+
Wed Dec 17 23:20:23 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkexpander.c (gtk_expander_animation_timeout): Add missing
+Wed Dec 17 23:31:19 2003 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only
+ try to strcmp or strlen if we managed to normalize and casefold
+ the string correctly. Fixes crashes with non-UTF8 strings.
+ (#121617, Patch from Tim-Philipp Müller).
+
Wed Dec 17 23:20:23 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkexpander.c (gtk_expander_animation_timeout): Add missing
+Wed Dec 17 23:31:19 2003 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only
+ try to strcmp or strlen if we managed to normalize and casefold
+ the string correctly. Fixes crashes with non-UTF8 strings.
+ (#121617, Patch from Tim-Philipp Müller).
+
Wed Dec 17 23:20:23 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkexpander.c (gtk_expander_animation_timeout): Add missing
+Wed Dec 17 23:31:19 2003 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only
+ try to strcmp or strlen if we managed to normalize and casefold
+ the string correctly. Fixes crashes with non-UTF8 strings.
+ (#121617, Patch from Tim-Philipp Müller).
+
Wed Dec 17 23:20:23 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkexpander.c (gtk_expander_animation_timeout): Add missing
+Wed Dec 17 23:31:19 2003 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only
+ try to strcmp or strlen if we managed to normalize and casefold
+ the string correctly. Fixes crashes with non-UTF8 strings.
+ (#121617, Patch from Tim-Philipp Müller).
+
Wed Dec 17 23:20:23 2003 Matthias Clasen <maclas@gmx.de>
* gtk/gtkexpander.c (gtk_expander_animation_timeout): Add missing
gboolean retval = TRUE;
gchar *normalized_string;
gchar *normalized_key;
- gchar *case_normalized_string;
- gchar *case_normalized_key;
+ gchar *case_normalized_string = NULL;
+ gchar *case_normalized_key = NULL;
GValue value = {0,};
GValue transformed = {0,};
gint key_len;
normalized_string = g_utf8_normalize (g_value_get_string (&transformed), -1, G_NORMALIZE_ALL);
normalized_key = g_utf8_normalize (key, -1, G_NORMALIZE_ALL);
- case_normalized_string = g_utf8_casefold (normalized_string, -1);
- case_normalized_key = g_utf8_casefold (normalized_key, -1);
- key_len = strlen (case_normalized_key);
+ if (normalized_string && normalized_key)
+ {
+ case_normalized_string = g_utf8_casefold (normalized_string, -1);
+ case_normalized_key = g_utf8_casefold (normalized_key, -1);
+
+ key_len = strlen (case_normalized_key);
- if (!strncmp (case_normalized_key, case_normalized_string, key_len))
+ if (!strncmp (case_normalized_key, case_normalized_string, key_len))
+ retval = FALSE;
+ }
+ else
retval = FALSE;
g_value_unset (&transformed);